home *** CD-ROM | disk | FTP | other *** search
/ CD Actual 3 / CD ACTUAL 3.iso / linux / docs / linux-do / programm / lpg-0.4 / lpg-0 / LPG / examples / ipc / popen2.c < prev    next >
Encoding:
C/C++ Source or Header  |  1995-04-01  |  883 b   |  39 lines

  1. /*****************************************************************************
  2.  Excerpt from "Linux Programmer's Guide - Chapter 6"
  3.  (C)opyright 1994-1995, Scott Burkett
  4.  ***************************************************************************** 
  5.  MODULE: popen2.c
  6.  *****************************************************************************/
  7.  
  8. #include <stdio.h>
  9.  
  10. int main(void)
  11. {
  12.     FILE *pipein_fp, *pipeout_fp;
  13.     char readbuf[80];
  14.  
  15.     /* Create one way pipe line with call to popen() */
  16.     if (( pipein_fp = popen("ls", "r")) == NULL)
  17.     {
  18.         perror("popen");
  19.         exit(1);
  20.     }
  21.  
  22.     /* Create one way pipe line with call to popen() */
  23.     if (( pipeout_fp = popen("sort", "w")) == NULL)
  24.     {
  25.         perror("popen");
  26.         exit(1);
  27.     }
  28.  
  29.     /* Processing loop */
  30.     while(fgets(readbuf, 80, pipein_fp))
  31.         fputs(readbuf, pipeout_fp);
  32.  
  33.     /* Close the pipes */
  34.     pclose(pipein_fp);
  35.     pclose(pipeout_fp);
  36.  
  37.     return(0);
  38. }
  39.